package data;

import exceptions.DataException;
import exceptions.IdentifierException;

public interface DataConstructor {
	/**
	 * Will only create the player if it doesn't already exist.
	 * Judges if player exists based on ID.
	 * @throws MissingDataException if playerName is null or only white spaces.
	 * @throws IdentifierException Will not happen, as if ID exists, will return the player.
	 */
	public Player addPlayer(String playerName, int playerID) throws DataException, IdentifierException;
	/**
	 * Returns player by id.
	 */
	public Player getPlayerByID(int id);
	/**
	 * Prevents duplicates
	 */
	public void addGame(Game game);
	
	public DataStorage getDataStorage();
}
